কোনো মেশিন লার্নিং মডেলে Kernel Functions ব্যবহার করা হয় মূলত সাপোর্ট ভেক্টর মেশিন (SVM) বা অন্যান্য কের্নেল বেসড অ্যালগরিদমের মাধ্যমে ডেটাকে উচ্চ মাত্রায় ম্যাপ করতে। কের্নেল ফাংশন মডেলকে ডেটার অপ্রত্যক্ষ বৈশিষ্ট্য (features) বা গঠন সম্পর্কে শিখতে সহায়ক হয়, বিশেষ করে যখন ডেটা লিনিয়ারলি সেপারেবল নয়, অর্থাৎ একটি রেখা বা সোজা প্লেন দিয়ে শ্রেণীভুক্ত করা যায় না।
Kernel functions ব্যবহার করা হয় যাতে মডেলটি ডেটাকে একটি উচ্চমাত্রার স্পেসে ম্যাপ করতে পারে, যেখানে ডেটা লিনিয়ারভাবে পৃথক করা সম্ভব। এটি একটি kernel trick হিসেবে পরিচিত, যেখানে কম্পিউটেশনের জটিলতা বাড়ানো ছাড়াই উচ্চমাত্রায় ডেটাকে স্থানান্তর করা হয়।
Linear Kernel হলো সবচেয়ে সাধারণ এবং সহজ কের্নেল। এটি দুটি ইনপুট ভেক্টরের মধ্যে ডট প্রোডাক্ট ব্যবহার করে। এই কের্নেলটি তখন ব্যবহার করা হয় যখন ডেটা পূর্বেই লিনিয়ারলি সেপারেবল (linearly separable) থাকে, অর্থাৎ আপনি সহজেই একটি রেখা বা প্লেন দিয়ে ডেটাকে বিভক্ত করতে পারেন।
K(x,y)=xTy
এখানে, x এবং y দুটি ইনপুট ভেক্টর।
Polynomial Kernel মডেলকে ডেটাকে একটি উচ্চ মাত্রার পলিনোমিয়াল স্পেসে ম্যাপ করতে সাহায্য করে। এটি ইনপুট ভেক্টরের ডট প্রোডাক্টের পলিনোমিয়ালকে গুণ করে, যা ডেটার মধ্যে লুকানো সম্পর্কগুলি ধরতে সহায়ক।
K(x,y)=(xTy+c)d
এখানে:
RBF Kernel, বা Gaussian Kernel, একটি জনপ্রিয় এবং শক্তিশালী কের্নেল যা একটি পয়েন্টের উপর ভিত্তি করে তার সাপেক্ষে ইনফিনিট ডাইমেনশনাল স্পেসে ডেটাকে ম্যাপ করে। এটি ডেটাকে একটি বৃত্তাকার বা গাউসিয়ান ফাংশনের ভিত্তিতে উচ্চ মাত্রায় ম্যাপ করতে পারে এবং সেজন্য ডেটার মধ্যে খুব সূক্ষ্ম প্যাটার্ন শনাক্ত করতে সক্ষম।
K(x,y)=exp(−∥x−y∥22σ2)
এখানে, ∥x−y∥2 হলো দুটি ইনপুটের মধ্যে ইউক্লিডিয়ান দূরত্ব এবং σ হলো কনস্ট্যান্ট (রেঞ্জ প্রভাবিত করে)।
কের্নেল টাইপ | ফাংশন | কিভাবে ব্যবহৃত হয় |
---|---|---|
Linear Kernel | K(x,y)=xTy | ডেটা লিনিয়ার সেপারেবল হলে ব্যবহার। |
Polynomial Kernel | K(x,y)=(xTy+c)d | ডেটাতে পলিনোমিয়াল সম্পর্ক থাকলে। |
RBF Kernel | K(x,y)=exp(−∥x−y∥2/2σ2) | ডেটা নন-লিনিয়ার, সূক্ষ্ম সম্পর্ক হলে। |
Kernel functions SVM এবং অন্যান্য কের্নেল-বেসড মডেলগুলির জন্য অত্যন্ত গুরুত্বপূর্ণ, কারণ এগুলি মডেলকে বেশি নমনীয় এবং জটিল ডেটা সম্পর্ক বুঝতে সক্ষম করে।